home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
disktools
/
allgemein
/
noisesaver
/
txt
/
noisesaver.asm
next >
Wrap
Assembly Source File
|
1995-03-09
|
636b
|
46 lines
;
; $Id: noisesaver.asm,v 2.1 1994/10/30 00:23:29 mh Exp $
;
; BeginIO() patch for NoiseSaver
; offsets
FindTask EQU -294
; export
XDEF MyProc;
XDEF CallBack;
XDEF OrigProc;
XDEF MyTask;
XDEF ExecBase;
section "bss_NoiseSaver",bss
; Read-Only vars (set by Oberon-process)
OrigProc: dc.l 0
CallBack: dc.l 0
MyTask: dc.l 0
ExecBase: dc.l 0
section "asm_NoiseSaver",code
MyProc:
movem.l a1/a6,-(sp)
move.l ExecBase,a6
suba.l a1,a1
jsr FindTask(a6)
cmp.l MyTask,d0
beq cont ; own task? -> do nothing
movea.l (a7),a1
movea.l CallBack,a0
jsr (a0)
cont: movem.l (sp)+,a1/a6
movea.l OrigProc,a0
jmp (a0)
END